package com.hsnn.medstgmini.subscribe.service.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.hsnn.medstgmini.subscribe.dao.BidSubscribeRecordDao;
import com.hsnn.medstgmini.subscribe.model.BidSubscribeDetail;
import com.hsnn.medstgmini.subscribe.model.BidSubscribeRecord;
import com.hsnn.medstgmini.subscribe.service.BidSubscribeRecordManager;
import com.hsnn.medstgmini.util.Pagination;

/**
 * @category 预约记录SERVICE 接口 实现类
 * @author 韩守松
 * @date 2015年8月31日
 */
@Service
public class BidSubscribeRecordManagerImpl implements BidSubscribeRecordManager {

	@Autowired
	private BidSubscribeRecordDao bidSubscribeRecordDao;

	/**
	 * @category 保存预约企业信息
	 * @author 韩守松
	 * @date 2015年9月1日
	 * @param @param bidSubscribeRecord
	 */
	public void save(BidSubscribeRecord bidSubscribeRecord) {
		bidSubscribeRecordDao.save(bidSubscribeRecord);
	}

	/**
	 * @category 获取生产企业预约记录信息
	 * @author 韩守松
	 * @date 2015年9月1日
	 * @param @param page
	 * @param @param bidSubscribeDetail
	 * @param @param bidSubscribeRecord
	 * @param @return
	 */
	public Pagination getSubscribeRecordList(Pagination page,
			BidSubscribeDetail bidSubscribeDetail,
			BidSubscribeRecord bidSubscribeRecord) {
		return bidSubscribeRecordDao.getSubscribeRecordList(page,
				bidSubscribeDetail, bidSubscribeRecord);
	}

	/**
	 * @category 更新企业记录信息
	 * @author 韩守松
	 * @date 2015年9月2日
	 * @param @param bidSubscribeRecord
	 * @param @param bidSubscribeDetail
	 * @param @return
	 */
	@Transactional
	public void update(BidSubscribeRecord bidSubscribeRecord) {
		bidSubscribeRecordDao.update(bidSubscribeRecord);
	}

	/**
	 * @category 获取指定详情id 企业数量
	 * @author 韩守松
	 * @date 2015年9月7日
	 * @param @param bidSubscribeDetailId
	 * @param @return
	 */
	public Integer getCompIdNumber(String bidSubscribeDetailId) {
		return bidSubscribeRecordDao.getCompIdNumber(bidSubscribeDetailId);
	}

	/**
	 * @category 获取已预约过的企业数
	 * @author 韩守松
	 * @date 2015年9月17日
	 * @param @param compId
	 * @param @param bidSubscribeId
	 * @param @return
	 */
	public String getCompNum(String compId, String bidSubscribeId,String bidSubscribeDetailId) {
		return bidSubscribeRecordDao.getCompNum(compId, bidSubscribeId,bidSubscribeDetailId);
	}

	/**
	 * @category 获取成功预约后地址信息
	 * @author 韩守松
	 * @date 2015年9月17日
	 * @param @param compId
	 * @param @param bidSubscribeId
	 * @param @return
	 */
	@SuppressWarnings("rawtypes")
	public List getSuccessData(String compId, String bidSubscribeId) {
		return bidSubscribeRecordDao.getSuccessData(compId, bidSubscribeId);
	}
	
	
	/**
	 * @category 根据预约规则Id 企业Id,及已预约数量不等于0 确定 预约记录中预约详情id
	 * @author 韩守松
	 * @date   2015年9月25日
	 * @param  @param bidSubscribeDetail
	 * @param  @param compId
	 * @param  @return
	 */
	public BidSubscribeRecord getHaveRecordId(BidSubscribeDetail bidSubscribeDetail,String compId) {
		return bidSubscribeRecordDao.getHaveRecordId(bidSubscribeDetail, compId);
	}
	
}
